package com.yuke.cloud.service.omc.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@ApiModel(value="com.yuke.cloud.service.omc.dto.OdsIntentDto")
@Data
public class OdsIntentDto {
    /**
     * 团购订单ID
     */
    @ApiModelProperty(value="intentId团购订单ID")
    private Long intentId;

    /**
     * 拼单团ID
     */
    @ApiModelProperty(value="teamId拼单团ID")
    private Long teamId;

    private String teamName;

    /**
     * 用户ID
     */
    @ApiModelProperty(value="userId用户ID")
    private Long userId;

    /**
     * 店铺ID
     */
    @ApiModelProperty(value="shopId店铺ID")
    private Long shopId;

    private String shopName;
    /**
     * 仓库ID
     */
    @ApiModelProperty(value="warehouseId仓库ID")
    private Long warehouseId;

    /**
     * 订单类型：1拼单购，2团购
     */
    @ApiModelProperty(value="intentType订单类型：1拼单购，2团购")
    private Byte intentType;

    /**
     * 状态：0：店铺/平台未确认；1：已确认，交由仓库发货；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后）；5：部分退货/退款（订单完成后）；6：无效作废（管理员触发）,7：用户订单申请取消，待处理
     */
    @ApiModelProperty(value="intentStatus状态：0：店铺/平台未确认；1：已确认，交由仓库发货；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后）；5：部分退货/退款（订单完成后）；6：无效作废（管理员触发）,7：用户订单申请取消，待处理")
    private Byte intentStatus;

    @ApiModelProperty(value="amountPayable")
    private Integer amountPayable;

    @ApiModelProperty(value="amountPaid")
    private Integer amountPaid;

    /**
     * 订单支付状态， 0：未付款；1：已付款；2：货到付款
     */
    @ApiModelProperty(value="payStatus订单支付状态， 0：未付款；1：已付款；2：货到付款")
    private Byte payStatus;

    /**
     * 支付平台类型，0：货到付款；1：在线支付(银行/银联)；2：在线支付(支付宝)；3：在线支付（微信） 4：个人账户支付；
     */
    @ApiModelProperty(value="payType支付平台类型，0：货到付款；1：在线支付(银行/银联)；2：在线支付(支付宝)；3：在线支付（微信） 4：个人账户支付；")
    private Byte payType;

    /**
     * 物流方式0：同城即时达（仓库发还是店铺发暂时还不确定），1：物流快递，2：同城快送（一般24小时左右送达），3：即时达（云顶店铺发货），4：即时达（由仓库发货）
     */
    @ApiModelProperty(value="shippingType物流方式0：同城即时达（仓库发还是店铺发暂时还不确定），1：物流快递，2：同城快送（一般24小时左右送达），3：即时达（云顶店铺发货），4：即时达（由仓库发货）")
    private Byte shippingType;

    /**
     * 商品配送情况， 0：未发货； 1：备货中；2：已（开始）发货；3：已收货
     */
    @ApiModelProperty(value="shippingStatus商品配送情况， 0：未发货； 1：备货中；2：已（开始）发货；3：已收货")
    private Byte shippingStatus;

    /**
     * 收货人的姓名
     */
    @ApiModelProperty(value="consignee收货人的姓名")
    private String consignee;

    /**
     * 收货人性别，0：未知，1：男，2：女
     */
    @ApiModelProperty(value="sex收货人性别，0：未知，1：男，2：女")
    private Byte sex;

    /**
     * 收货人的手机号
     */
    @ApiModelProperty(value="mobile收货人的手机号")
    private String mobile;

    /**
     * 收货人国家ID
     */
    @ApiModelProperty(value="regionCountryId收货人国家ID")
    private Integer regionCountryId;

    /**
     * 收货人省份ID
     */
    @ApiModelProperty(value="regionProvinceId收货人省份ID")
    private Integer regionProvinceId;

    /**
     * 收货人城市ID
     */
    @ApiModelProperty(value="regionCityId收货人城市ID")
    private Integer regionCityId;

    /**
     * 收货人区县ID
     */
    @ApiModelProperty(value="regionCountyId收货人区县ID")
    private Integer regionCountyId;

    /**
     * 收货人详细地址
     */
    @ApiModelProperty(value="address收货人详细地址")
    private String address;

    /**
     * 邮政编码
     */
    @ApiModelProperty(value="postCode邮政编码")
    private String postCode;

    /**
     * 用户附言
     */
    @ApiModelProperty(value="postscript用户附言")
    private String postscript;

    /**
     * 支付平台ID号，与支付平台表相关联
     */
    @ApiModelProperty(value="payPlatformId支付平台ID号，与支付平台表相关联")
    private String payPlatformId;

    /**
     * 支付平台交易号
     */
    @ApiModelProperty(value="tradeCode支付平台交易号")
    private String tradeCode;

    /**
     * 已结算或返利金额，单位分
     */
    @ApiModelProperty(value="amountCheckout已结算或返利金额，单位分")
    private Integer amountCheckout;

    /**
     * 佣金状态：0：未申请（或未发放），1：申请审核中，2：审核通过，3，已发放
     */
    @ApiModelProperty(value="commissionStatus佣金状态：0：未申请（或未发放），1：申请审核中，2：审核通过，3，已发放")
    private Byte commissionStatus;

    /**
     * 订单生成时间
     */
    @ApiModelProperty(value="createTime订单生成时间")
    private Date createTime;

    /**
     * 订单支付时间
     */
    @ApiModelProperty(value="payTime订单支付时间")
    private Date payTime;

    /**
     * 发货时间
     */
    @ApiModelProperty(value="sendTime发货时间")
    private Date sendTime;

    /**
     * 收货时间
     */
    @ApiModelProperty(value="acceptTime收货时间")
    private Date acceptTime;


}